Method and System for Predicting and Indexing Probability of Financial Stress

ABSTRACT

A method, computer system, and computer program product that aggregates data regarding a plurality of factors correlated with income; performs iterative analysis on the data using machine learning to construct a predictive model; populates, using the predictive model, a database with predicted income values for a selected range of housing costs; converts the predicted income values in the database into percentages of observed income values for a selected group of people within the selected range of housing costs over a specified time period to create indices of financial stress; and rank orders the people within the selected group according to their indices of financial stress.

BACKGROUND INFORMATION 1. Field

The present disclosure relates generally to an improved computer systemand, in particular, to a method and apparatus for machine learningpredictive modeling. Still more particularly, the present disclosurerelates to a method and apparatus for predicting probability offinancial stress.

2. Background

Some consumers spend all of the money they have, while other consumershave a lifestyle that is very modest compared to their level of income.When credit decisions are made, credit bureau and income verificationcan assess the level of risk. However, this requires pulling creditbureau data.

Ideally marketing offers should be targeted to consumers withdiscretionary money to spend, not consumers that have already exhaustedmost of their financial resources. Credit risk is lower for consumersthat have excess capacity created by a lifestyle that is below theirincome. The problem is how to sift through masses of data related toconsumer income, spending, and other lifestyle indicators and properlytarget marketing offers, including loan products, without pulling creditbureau data.

Therefore, it would be desirable to have a method and system thatprovides predictive modeling and indices that reflect predicted incomebased on home value and probability of financial stress without pullingdata from credit bureaus.

SUMMARY

An embodiment of the present disclosure provides a computer-implementedmethod for predictive modeling. The computer system aggregates sampledata regarding a plurality of factors correlated with income andperforms iterative analysis on the data using machine learning toconstruct a predictive model. The computer system then populates, usingthe predictive model, a database with predicted income values for aselected range of housing costs. The computer system converts thepredicted income values in the database into percentages of observedincome values for a selected group of people within the selected rangeof housing costs over a specified time period to create indices offinancial stress. The computer system then rank orders the people withinthe selected group according to their indices of financial stress

Another embodiment of the present disclosure provides a machine learningpredictive modeling system comprising a computer system and one or moreprocessors running on the computer system. The one or more processorsaggregate sample data regarding a plurality of factors correlated withincome; perform iterative analysis on the data using machine learning toconstruct a predictive model; populate, using the predictive model, adatabase with predicted income values for a selected range of housingcosts; convert the predicted income values in the database intopercentages of observed income values for a selected group of peoplewithin the selected range of housing costs over a specified time periodto create indices of financial stress; and rank order the people withinthe selected group according to their indices of financial stress.

Another embodiment of the present disclosure provides a computer programproduct for machine learning predictive modeling comprising a persistentcomputer-readable storage media; first program code, stored on thecomputer-readable storage media, for aggregating sample data regarding aplurality of factors correlated with income; second program code, storedon the computer-readable storage media, for performing iterativeanalysis on the data using machine learning to construct a predictivemodel; third program code, stored on the computer-readable storagemedia, for populating, using the predictive model, a database withpredicted income values for a selected range of housing costs; fourthprogram code, stored on the computer-readable storage media, forconverting the predicted income values in the database into percentagesof observed income values for a selected group of people within theselected range of housing costs over a specified time period to createindices of financial stress; and fifth program code, stored on thecomputer-readable storage media, for rank ordering the people within theselected group according to their indices of financial stress.

The features and functions can be achieved independently in variousembodiments of the present disclosure or may be combined in yet otherembodiments in which further details can be seen with reference to thefollowing description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the illustrativeembodiments are set forth in the appended claims. The illustrativeembodiments, however, as well as a preferred mode of use, furtherobjectives and features thereof, will best be understood by reference tothe following detailed description of an illustrative embodiment of thepresent disclosure when read in conjunction with the accompanyingdrawings, wherein:

FIG. 1 is an illustration of a diagram of a data processing environmentin accordance with an illustrative embodiment;

FIG. 2 is an illustration of a block diagram of a computer system forpredictive modeling in accordance with an illustrative embodiment;

FIG. 3 is an illustration of a database for access by a predictivemodeling application in accordance with an illustrative embodiment;

FIG. 4 is an illustration of a flowchart of a process for calculatingfactors used in predictive modeling in accordance with an illustrativeembodiment;

FIG. 5 is an illustration of a flowchart of a process for predictivemodeling and indexing in accordance with an illustrative embodiment;

FIG. 6 is an example table for use with a dataset in machine learning inaccordance with an illustrative embodiment; and

FIG. 7 is an illustration of a block diagram of a data processing systemin accordance with an illustrative embodiment.

DETAILED DESCRIPTION

The illustrative embodiments recognize and take into account one or moredifferent considerations. For example, the illustrative embodimentsrecognize and take into account that it is difficult to accuratelypredict the probability of financial stress without pulling creditbureau data.

The illustrative embodiments further recognize and take into accountthat people with similar incomes tend to purchase properties withsimilar values or rent properties within a similar price range.Therefore, housing costs as expressed by mortgage/rent payments arestrong lifestyle indicators of financial means.

Thus, a method and apparatus that would allow for accurately predictingthe probability of financial stress of employees would fill a long-feltneed in the field of employee benefits analysis, institutional lending,and marketing.

The flowcharts and block diagrams in the different depicted embodimentsillustrate the architecture, functionality, and operation of somepossible implementations of apparatuses and methods in an illustrativeembodiment. In this regard, each block in the flowcharts or blockdiagrams may represent at least one of a module, a segment, a function,or a portion of an operation or step. For example, one or more of theblocks may be implemented as program code.

In some alternative implementations of an illustrative embodiment, thefunction or functions noted in the blocks may occur out of the ordernoted in the figures. For example, in some cases, two blocks shown insuccession may be performed substantially concurrently, or the blocksmay sometimes be performed in the reverse order, depending upon thefunctionality involved. Also, other blocks may be added, in addition tothe illustrated blocks, in a flowchart or block diagram.

As used herein, the phrase “at least one of,” when used with a list ofitems, means different combinations of one or more of the listed itemsmay be used and only one of each item in the list may be needed. Inother words, “at least one of” means any combination of items and numberof items may be used from the list, but not all of the items in the listare required. The item may be a particular object, thing, or a category.

For example, without limitation, “at least one of item A, item B, oritem C” may include item A, item A and item B, or item B. This examplealso may include item A, item B, and item C or item B and item C. Ofcourse, any combinations of these items may be present. In someillustrative examples, “at least one of” may be, for example, withoutlimitation, two of item A, one of item B, and ten of item C; four ofitem B and seven of item C; or other suitable combinations.

With reference now to the figures and, in particular, with reference toFIG. 1, an illustration of a diagram of a data processing environment isdepicted in accordance with an illustrative embodiment. It should beappreciated that FIG. 1 is only provided as an illustration of oneimplementation and is not intended to imply any limitation with regardto the environments in which the different embodiments may beimplemented. Many modifications to the depicted environments may bemade.

The computer-readable program instructions may also be loaded onto acomputer, a programmable data processing apparatus, or other device tocause a series of operational steps to be performed on the computer, aprogrammable apparatus, or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, the programmable apparatus, or the other device implement thefunctions and/or acts specified in the flowchart and/or block diagramblock or blocks.

FIG. 1 depicts a pictorial representation of a network of dataprocessing systems in which illustrative embodiments may be implemented.Network data processing system 100 is a network of computers in whichthe illustrative embodiments may be implemented. Network data processingsystem 100 contains network 102, which is a medium used to providecommunications links between various devices and computers connectedtogether within network data processing system 100. Network 102 mayinclude connections, such as wire, wireless communication links, orfiber optic cables.

In the depicted example, server computer 104 and server computer 106connect to network 102 along with storage unit 108. In addition, clientcomputers include client computer 110, client computer 112, and clientcomputer 114. Client computer 110, client computer 112, and clientcomputer 114 connect to network 102. These connections can be wirelessor wired connections depending on the implementation. Client computer110, client computer 112, and client computer 114 may be, for example,personal computers or network computers. In the depicted example, servercomputer 104 provides information, such as boot files, operating systemimages, and applications to client computer 110, client computer 112,and client computer 114. Client computer 110, client computer 112, andclient computer 114 are clients to server computer 104 in this example.Network data processing system 100 may include additional servercomputers, client computers, and other devices not shown.

Program code located in network data processing system 100 may be storedon a computer-recordable storage medium and downloaded to a dataprocessing system or other device for use. For example, the program codemay be stored on a computer-recordable storage medium on server computer104 and downloaded to client computer 110 over network 102 for use onclient computer 110.

In the depicted example, network data processing system 100 is theInternet with network 102 representing a worldwide collection ofnetworks and gateways that use the Transmission ControlProtocol/Internet Protocol (TCP/IP) suite of protocols to communicatewith one another. At the heart of the Internet is a backbone ofhigh-speed data communication lines between major nodes or hostcomputers consisting of thousands of commercial, governmental,educational, and other computer systems that route data and messages. Ofcourse, network data processing system 100 also may be implemented as anumber of different types of networks, such as, for example, anintranet, a local area network (LAN), or a wide area network (WAN). FIG.1 is intended as an example, and not as an architectural limitation forthe different illustrative embodiments.

The illustration of network data processing system 100 is not meant tolimit the manner in which other illustrative embodiments can beimplemented. For example, other client computers may be used in additionto or in place of client computer 110, client computer 112, and clientcomputer 114 as depicted in FIG. 1. For example, client computer 110,client computer 112, and client computer 114 may include a tabletcomputer, a laptop computer, a bus with a vehicle computer, and othersuitable types of clients.

In the illustrative examples, the hardware may take the form of acircuit system, an integrated circuit, an application-specificintegrated circuit (ASIC), a programmable logic device, or some othersuitable type of hardware configured to perform a number of operations.With a programmable logic device, the device may be configured toperform the number of operations. The device may be reconfigured at alater time or may be permanently configured to perform the number ofoperations. Programmable logic devices include, for example, aprogrammable logic array, programmable array logic, a field programmablelogic array, a field programmable gate array, and other suitablehardware devices. Additionally, the processes may be implemented inorganic components integrated with inorganic components and may becomprised entirely of organic components, excluding a human being. Forexample, the processes may be implemented as circuits in organicsemiconductors.

Turning to FIG. 2, a block diagram of a computer system for predictivemodeling is depicted in accordance with an illustrative embodiment.Computer system 200 is connected to internal databases 260, externaldatabases 270 and devices 280. Internal databases 260 comprise payrolls262, residence 264, and employer information 266. External databasescomprise home valuations 272, mortgage rates 274, and employerindustry/sector 276. Devices 280 comprise non-mobile devices 282 andmobile devices 284.

Computer system 200 comprises information processing unit 216, machineintelligence 218, and indexing program 230. Machine intelligence 218comprises machine learning 220 and predictive algorithms 222.

Machine intelligence 218 can be implemented using one or more systemssuch as an artificial intelligence system, a neural network, a Bayesiannetwork, an expert system, a fuzzy logic system, a genetic algorithm, orother suitable types of systems. Machine learning 220 and predictivealgorithms 222 may make computer system 200 a special purpose computerfor dynamic predictive modelling of the probability of financial stress.

In an embodiment, processing unit 216 comprises one or more conventionalgeneral purpose central processing units (CPUs). In an alternateembodiment, processing unit 216 comprises one or more graphicalprocessing units (GPUs). Though originally designed to accelerate thecreation of images with millions of pixels whose frames need to becontinually recalculated to display output in less than a second, GPUsare particularly well suited to machine learning. Their specializedparallel processing architecture allows them to perform many morefloating point operations per second then a CPU, on the order of 1000×more. GPUs can be clustered together to run neural networks comprisinghundreds of millions of connection nodes.

Indexing program 230 comprises information gathering 252, selecting 232,modeling 234, comparing 236, indexing 238, ranking 240, and displaying242. Information gathering 252 comprises internal 254 and external 256.Internal 254 is configured to gather data from internal databases 260.External 256 is configured to gather data from external databases 270.

Thus, processing unit 216, machine intelligence 218, and indexingprogram 230 transform a computer system into a special purpose computersystem as compared to currently available general computer systems thatdo not have a means to perform machine learning predictive modeling suchas computer system 200 of FIG. 2. Currently used general computersystems do not have a means to accurately predict and compare theprobability of financial stress without pulling credit bureau data.

Turning to FIG. 3, a block diagram of a database is depicted inaccordance with an illustrative embodiment. Database 300 comprisesconnections 310, financial data 320, housing data 330, and employmentdata 340. Connections 310 comprise internet 312, wireless 314, andothers 316. Connections 310 may provide connectivity with internaldatabases 260, external databases 270, and devices 280 shown in FIG. 2.Internet 312 and wireless 314 as well as others 316 in connections 310in FIG. 3 may connect with internal databases 260, external databases270, and devices 280 shown in FIG. 2, through a network such as network102 in FIG. 1. Others 316 may comprise any additional available means ofconnection other than internet 312 and wireless 314 such as a hard wiredconnection or a landline.

Financial data 320 contains employee compensation information.Information regarding the employee salary is maintained in salary 322.Information about the number and amount of deductions is maintained inpayroll deductions 324. Information regarding employee tax filing statusis maintained in tax forms 326.

Housing data 330 contains information about housing values and costs.Information about housing costs is maintained in home value 332.Information about the local housing market is maintained in home value334. Information on mortgage rates is maintained in mortgage rates 336.

Employment data 340 comprises information about an employee'semployment. Information regarding the industry/sector in which anemployee is employed is maintained in industry/sector 342. A sectoridentifies a high-level group of related businesses. It can be thoughtof as a generic type of business. For example, the North AmericanIndustry Classification System (NAICS) uses a six digit code to identifyan industry. The first two digits of that code identify the sector inwhich the industry belongs. Information regarding the employer ismaintained in employer 344.

Turning to FIG. 4, an illustration of a flowchart for calculatingfactors used in predictive modeling is depicted in accordance with anillustrative embodiment. This process can be implemented in software,hardware, or a combination of the two. When software is used, thesoftware comprises program code that can be loaded from a storage deviceand run by a processor unit in a computer system such as computer system200 in FIG. 2. Computer system 200 may reside in a network dataprocessing system such as network data processing system 100 in FIG. 1.For example, computer system 200 may reside on one or more of servercomputer 104, server computer 106, client computer 110, client computer112, and client computer 114 connected by network 102 in FIG. 1.Moreover, the process can be implemented by data processing system 700in FIG. 7 and a processing unit such as processor unit 704 in FIG. 7.

It should be emphasized that the specific sequence of steps in theillustrative embodiment shown in FIG. 4 is chosen merely forconvenience. The factors shown in FIG. 4 can be calculated independentlyin any particular order or may be calculated in parallel by separateprocessors or processor threads, depending on the specific architectureof the computer system used. In the illustrative embodiment the factorsare calculated using the information maintained in database 300 shown inFIG. 3.

Process 400 begins by determining employee salary (step 402). Next theprocess calculates the total amount of payroll deductions from the basepaycheck (step 404). The deductions can include health insurance, dentaland vision insurance (both for the employee and/or family members),health savings account, retirement savings, stock purchase plans,dependents and approximate age, and garnishment. Such payroll deductionsprovide a clearer picture of the actual available cash flow to meetimmediate and near term expenses. Tax filing status on employee taxforms are used to determine if the employee is the only wage earner inthe household (step 406), which again goes to the issue of availablecash flow within the household.

Housing cost trends are determined for the geographic area in questionover a predetermined time period (step 408). Since real estate marketsare highly local, the smaller the geographic area chosen (i.e.zip/postal code), the more accurate the predictive model. Housing costscan encompass home values and rental rates, both largely representativeof living expenses and overall lifestyle. Home value can be both ameasure of wealth as well as a measure of living costs. Generally, ashome values increase, the income of the owners increases as well.However, some people buy the most expensive house lenders will allow,pushing the limits of their available cash flow. Other people buy housesthat cost significantly less than lenders would approve.

Furthermore, the wealth effect of home value can reverse in an economicdownturn marked by falling home values. The timing of when a home ownerbuys into the local market is an important factor. Therefore,calculating trends over specified time periods produces more accuratepredictive models than looking at a snapshot of housing costs and homevalues at a given point in time.

The process also calculates trends in mortgage rates (step 410).Mortgage rates indirectly correlate to local real estate markets byinfluencing the amount of money purchasers can borrow and use to bid forhouses. Mortgage rates link trends in local real estate markets withnational and even international capital markets.

Next process 400 calculates employment trends over a specified timeperiod for the industry/sector in which the employee is employed (step412). This measure speaks to the future employment prospects of theemployee. For example, if the employee currently has a high salary, butif the industry/sector in which the employee works is shrinking ormoving toward automation, the current salary might not be an accuratepredictive value of the employee's future income and lifestyle.

Similarly, the process also calculates hiring trends for the employee'semployer over a specified time period (step 414). This also points tothe future income and lifestyle of an employee beyond a snapshot ofcurrent salary. Is the employer hiring, downsizing, and/or automating?Furthermore, a specific firm may not track closely with the overallindustry/sector. For example, large firms might fare poorly in aneconomic downturn due to larger overhead expenses and existing legacyinfrastructure. On the other hand, larger firms might have morefinancial reserves to weather a downturn better than smaller firms.

Finally, the process calculates employment trends within a predefinedgeographic region (e.g., zip code, city, state, etc.) over a specifiedperiod of time (step 416), which relates to trends in housing costs andhome values.

The method of the present disclosure utilizes machine learning andpredictive algorithms such as those provided by machine intelligence 218in FIG. 2. Machine learning is a branch of artificial intelligence (AI)that enables computers to detect patterns and improve performancewithout direct programming commands. Rather than relying on direct inputcommands to complete a task, machine learning relies on input data. Thedata is fed into the machine, a predictive algorithm is selected,parameters for the data are configured, and the machine is instructed tofind patterns in the input data through trial and error. The data modelformed from analyzing the data is then used to predict future values.

Turning to FIG. 5, an illustration of a flowchart of a process forpredictive modeling and indexing is depicted in accordance with anillustrative embodiment. Process 500 can be implemented in software,hardware, or a combination of the two. When software is used, thesoftware comprises program code that can be loaded from a storage deviceand run by a processor unit in a computer system such as computer system200 in FIG. 2. Computer system 200 may reside in a network dataprocessing system such as network data processing system 100 in FIG. 1.For example, computer system 200 may reside on one or more of servercomputer 104, server computer 106, client computer 110, client computer112, and client computer 114 connected by network 102 in FIG. 1.Moreover, the process can be implemented by data processing system 700in FIG. 7 and a processing unit such as processor unit 704 in FIG. 7.

Process 500 begins by aggregating the employment and housing dataassociated with the factors determined in the process flow in FIG. 4(step 502). Referring to FIG. 6, an example table for use with a datasetin machine learning is depicted in accordance with an illustrativeembodiment. The dataset used to form predictions is defined and labeledin a table such as table 600. Each column is known as a vector, and thedata within each column is a feature, also known as a variable,dimension, or attribute. Each row represents a single observation of agiven feature and is referred to as a case or value. The y valuesrepresent the output and are typically expressed in the final column asshown. For ease of illustration the example shown in FIG. 6 is a simple2-D table, but it should be noted that multiples vectors (formingmatrices) are typically used to represent large datasets. Referring backto FIG. 4, each category of data determined in the process flow could berepresented by a separate vector (column) in a tabular dataset dependingon how the data is aggregated.

After the dataset is aggregated, process 500 scrubs the dataset (step504). Very large datasets, sometimes referred to as Big Data, oftencontain noise and complicated data structures. Bordering on the order ofpetabytes, such datasets comprise a variety, volume, and velocity (rateof change) that defies conventional processing and is impossible for ahuman to process without advanced machine assistance. Scrubbing refersto the process of refining the dataset before using it to build apredictive model and includes modifying and/or removing incomplete dataor data with little predictive value. It can also entail converting textbased data into numerical values (one-hot encoding) or convert numericalvalues into a category.

After the dataset has been scrubbed, process 500 divides the data intotraining data and test data to be used for building and testing thepredictive model (step 506). To produce optimal results, the same datathat is used to test the model should not be the same data used fortraining. The data is divided by rows, with 70-80% used for training and20-30% used for testing. Randomizing the selection of the rows avoidsbias in the model.

Process 500 then performs iterative analysis on the training date byapplying predictive algorithms to construct a predictive model (step508). There are three main categories of machine learning: supervised,unsupervised, and reinforcement. Supervised machine learning comprisesproviding the machine with test data and the correct output value of thedata. Referring back to table 600 in FIG. 6, during supervised learningthe values for the y column (output) are provided along with thetraining data (labeled dataset) for the model building process in step508. The algorithm, through trial and error, deciphers the patterns thatexist between the input training data and the known output values tocreate a model that can reproduce the same underlying rules with newdata. Examples of supervised learning algorithms include regressionanalysis, decisions trees, k-nearest neighbors, neural networks, andsupport vector machines.

If unsupervised learning is used, not all of the variables and datapatterns are labeled, forcing the machine to discover hidden patternsand create labels on its own through the use of unsupervised learningalgorithms. Unsupervised learning has the advantage of discoveringpatterns in the data no one previously knew existed. Examples ofalgorithms used in unsupervised machine learning include k-meansclustering (k-NN), association analysis, and descending clustering.

After the model is constructed, the test data is fed into model to testits accuracy (step 510). In an embodiment the model is tested using meanabsolute error, which examines each prediction in the model and providesan average error score for each prediction. If the error rate betweenthe training and test dataset is below a predetermined threshold, themodel has learned the dataset's pattern and passed the test.

If the model fails the test the hyperparameters of the model are changedand/or the training and test data are re-randomized, and the iterativeanalysis of the training data is repeated (step 512). Hyperparametersare the settings of the algorithm that control how fast the model learnspatterns and which patterns to identify and analyze. Once a model haspassed the test stage it is ready for application.

Whereas supervised and unsupervised learning reach an endpoint after apredictive model is constructed and passes the test in step 510,reinforcement learning continuously improves its model using feedbackfrom application to new empirical data. Algorithms such as Q-learningare used to train the predictive model through continuous learning usingmeasurable performance criteria (discussed in more detail below).

After the model is constructed and tested for accuracy, process 500 usesthe model to calculate predicted income based on home value, geographicarea, and industry/sector of employment (step 514). The predicted incomereflects the expected financial means of someone with a givenmortgage/rent payment.

The predicted values are then converted into a percentage of observedincome to form an index (step 516). The index is calculated by dividingthe observed value by the predicted value and then multiplying by 100. Apercentage greater than 100% identifies employees that have more incomethan most people with similar mortgage/rent payments. Percentagessignificantly higher than 100% identify employees that have much moreincome than most people with similar housing costs. Such employees areleast likely to have financial stress.

A percentage less than 100% identifies employees that have less incomethan most people with similar mortgage/rent payments. Percentagessignificantly lower than 100% identify employees with incomes much lessthan most people with similar housing costs. These employees might havesubstantial financial stress.

After the indices have been calculated, process 500 rank ordersindividuals by index (step 518). Rank ordering the indices facilitatesidentification of individuals at extreme ends of the income/home valuecalculation. Marketing efforts can use this information to help targetmessages to the correct people. However, application of the indices isnot a simple matter of simply identifying individuals with morediscretionary cash flow. Spending patterns are not necessarily linear.Consumers with higher income than predicted for their homevalues/mortgage payments should have sufficient financial means forexpensive purchases. However, those individuals with an index above aspecified threshold might be excluded from certain marketing campaignsdue to their conservative spending habits; they have the discretionaryincome but rarely spend it. Conversely, individuals with much lowerincome than expected from their mortgage/rent payments might be livingfar beyond their means and should be excluded from marketing effortsbecause they have already spent or allocated most of their discretionaryincome and may not be able to purchase additional items.

Employers can also use this information regarding recruitment andmanagement policies. Businesses can use this information to evaluate thestability of their employees as well as compare their employees toemployees for a peer group of businesses. Employee stability is abusiness risk and it is difficult to measure without an index. Forexample, employees that spend significantly less than their income mightbe motivated by factors at work other than salary. On the other hand,employees that are overextended and under financial stress might bemotivated solely by pay, making them very aggressive and competitive andthereby requiring special handling. The indices can also be used toidentify geographic regions where consumers can withstand an economicdowntown better than other regions. Such information can be used toidentify how stable a local economy is.

Lending institutions can use this information as part of enhanced loanunderwriting criteria. The amount of financial stress is expected toaffect loan performance. The index of the present disclosure providesinformation that is currently not easily obtainable. The index is anefficient method to estimate probable consumer financial stress andobviates the need to pull credit bureau data.

If reinforcement learning is used with the predictive modelling, theindex rankings are compared to the actual observed financial stress ofemployees over a subsequent time period (e.g., month, quarter, year,etc.) (step 520). The actual financial stress experienced by theemployees might not conform as expected to their relative index ranking.Furthermore, the sample data used to construct the predictive modelmight become outdated. Updated employment and housing data is collectedafter the subsequent time period and fed back into the machine learningto update and modify the predictive model (step 522).

The illustrative embodiments thus produce the technical effect ofconstructing accurate, complex predictive models from large datasets anddo so in a timely manner in the face of rapidly changing empirical data.

Turning now to FIG. 7, an illustration of a block diagram of a dataprocessing system is depicted in accordance with an illustrativeembodiment. Data processing system 700 may be used to implement one ormore computers and client computer system 112 in FIG. 1. In thisillustrative example, data processing system 700 includes communicationsframework 702, which provides communications between processor unit 704,memory 706, persistent storage 708, communications unit 710,input/output unit 712, and display 714. In this example, communicationsframework 702 may take the form of a bus system.

Processor unit 704 serves to execute instructions for software that maybe loaded into memory 706. Processor unit 704 may be a number ofprocessors, a multi-processor core, or some other type of processor,depending on the particular implementation. In an embodiment, processorunit 704 comprises one or more conventional general purpose centralprocessing units (CPUs). In an alternate embodiment, processor unit 704comprises one or more graphical processing units (CPUs).

Memory 706 and persistent storage 708 are examples of storage devices716. A storage device is any piece of hardware that is capable ofstoring information, such as, for example, without limitation, at leastone of data, program code in functional form, or other suitableinformation either on a temporary basis, a permanent basis, or both on atemporary basis and a permanent basis. Storage devices 716 may also bereferred to as computer-readable storage devices in these illustrativeexamples. Memory 716, in these examples, may be, for example, a randomaccess memory or any other suitable volatile or non-volatile storagedevice. Persistent storage 708 may take various forms, depending on theparticular implementation.

For example, persistent storage 708 may contain one or more componentsor devices. For example, persistent storage 708 may be a hard drive, aflash memory, a rewritable optical disk, a rewritable magnetic tape, orsome combination of the above. The media used by persistent storage 708also may be removable. For example, a removable hard drive may be usedfor persistent storage 708. Communications unit 710, in theseillustrative examples, provides for communications with other dataprocessing systems or devices. In these illustrative examples,communications unit 710 is a network interface card.

Input/output unit 712 allows for input and output of data with otherdevices that may be connected to data processing system 700. Forexample, input/output unit 712 may provide a connection for user inputthrough at least one of a keyboard, a mouse, or some other suitableinput device. Further, input/output unit 712 may send output to aprinter. Display 714 provides a mechanism to display information to auser.

Instructions for at least one of the operating system, applications, orprograms may be located in storage devices 716, which are incommunication with processor unit 704 through communications framework702. The processes of the different embodiments may be performed byprocessor unit 704 using computer-implemented instructions, which may belocated in a memory, such as memory 706.

These instructions are referred to as program code, computer-usableprogram code, or computer-readable program code that may be read andexecuted by a processor in processor unit 704. The program code in thedifferent embodiments may be embodied on different physical orcomputer-readable storage media, such as memory 706 or persistentstorage 708.

Program code 718 is located in a functional form on computer-readablemedia 720 that is selectively removable and may be loaded onto ortransferred to data processing system 600 for execution by processorunit 704. Program code 718 and computer-readable media 720 form computerprogram product 722 in these illustrative examples. In one example,computer-readable media 720 may be computer-readable storage media 724or computer-readable signal media 726.

In these illustrative examples, computer-readable storage media 724 is aphysical or tangible storage device used to store program code 718rather than a medium that propagates or transmits program code 718.Alternatively, program code 718 may be transferred to data processingsystem 700 using computer-readable signal media 726.

Computer-readable signal media 726 may be, for example, a propagateddata signal containing program code 718. For example, computer-readablesignal media 726 may be at least one of an electromagnetic signal, anoptical signal, or any other suitable type of signal. These signals maybe transmitted over at least one of communications links, such aswireless communications links, optical fiber cable, coaxial cable, awire, or any other suitable type of communications link.

The different components illustrated for data processing system 700 arenot meant to provide architectural limitations to the manner in whichdifferent embodiments may be implemented. The different illustrativeembodiments may be implemented in a data processing system includingcomponents in addition to or in place of those illustrated for dataprocessing system 700. Other components shown in FIG. 7 can be variedfrom the illustrative examples shown. The different embodiments may beimplemented using any hardware device or system capable of runningprogram code 718.

The flowcharts and block diagrams in the different depicted embodimentsillustrate the architecture, functionality, and operation of somepossible implementations of apparatuses and methods in an illustrativeembodiment. In this regard, each block in the flowcharts or blockdiagrams may represent at least one of a module, a segment, a function,or a portion of an operation or step. For example, one or more of theblocks may be implemented as program code.

In some alternative implementations of an illustrative embodiment, thefunction or functions noted in the blocks may occur out of the ordernoted in the figures. For example, in some cases, two blocks shown insuccession may be performed substantially concurrently, or the blocksmay sometimes be performed in the reverse order, depending upon thefunctionality involved. Also, other blocks may be added in addition tothe illustrated blocks in a flowchart or block diagram.

The description of the different illustrative embodiments has beenpresented for purposes of illustration and description and is notintended to be exhaustive or limited to the embodiments in the formdisclosed. The different illustrative examples describe components thatperform actions or operations. In an illustrative embodiment, acomponent may be configured to perform the action or operationdescribed. For example, the component may have a configuration or designfor a structure that provides the component an ability to perform theaction or operation that is described in the illustrative examples asbeing performed by the component. Many modifications and variations willbe apparent to those of ordinary skill in the art. Further, differentillustrative embodiments may provide different features as compared toother desirable embodiments. The embodiment or embodiments selected arechosen and described in order to best explain the principles of theembodiments, the practical application, and to enable others of ordinaryskill in the art to understand the disclosure for various embodimentswith various modifications as are suited to the particular usecontemplated.

What is claimed is:
 1. A computer-implemented method for predictivemodeling, the method comprising: aggregating, by one or more processors,sample data regarding a plurality of factors correlated with income;performing, by one or more processors, iterative analysis on the datausing machine learning to construct a predictive model; populating, byone or more processors using the predictive model, a database withpredicted income values for a selected range of housing costs;converting, by one or more processors, the predicted income values inthe database into percentages of observed income values for a selectedgroup of people within the selected range of housing costs over aspecified time period to create indices of financial stress; and rankordering, by one or more processors, the people within the selectedgroup according to their indices of financial stress.
 2. The methodaccording to claim 1, further comprising: comparing, by one or moreprocessors, the rank ordering within the selected group to observedfinancial stress within the selected group over a second specified timeperiod; aggregating, by one or more processors, updated sample data overthe second specified time period; and updating, by one or moreprocessors, the predictive model using machine learning incorporatingthe updated sample data for the second specified time period.
 3. Themethod according to claim 1, wherein categories of data applied to themachine learning predictive modeling include at least one of: salary;payroll deductions; household tax filing status; housing cost trends ina predetermined geographic area; mortgage rates; employment trendswithin a specified industry/sector; employment trends within thepredetermined geographic area; and hiring trends for specific employers.4. The method according to claim 1, wherein the housing costs comprisemortgage payments.
 5. The method according to claim 1, wherein thehousing costs comprise rent payments.
 6. The method according to claim1, wherein the machine learning uses supervised learning to constructthe predictive model.
 7. The method according to claim 1, wherein themachine learning uses unsupervised learning to construct the predictivemodel.
 8. The method according to claim 1, wherein the machine learninguses reinforcement learning to construct the predictive model.
 9. Amachine learning predictive modeling system, comprising: a computersystem; one or more processors running on the computer system, whereinthe one or more processors aggregate sample data regarding a pluralityof factors correlated with income; perform iterative analysis on thedata using machine learning to construct a predictive model; populate,using the predictive model, a database with predicted income values fora selected range of housing costs; convert the predicted income valuesin the database into percentages of observed income values for aselected group of people within the selected range of housing costs overa specified time period to create indices of financial stress; and rankorder the people within the selected group according to their indices offinancial stress.
 10. The machine learning predictive modeling systemaccording to claim 9, wherein the one or more processors running on thecomputer system compare the rank ordering within the selected group toobserved financial stress within the selected group over a secondspecified time period; aggregate updated sample data over the secondspecified time period; and update the predictive model using machinelearning incorporating the updated sample data for the second specifiedtime period.
 11. The machine learning predictive modeling systemaccording to claim 9, wherein the one or more processors compriseaggregated graphical processor units (GPU).
 12. The machine learningpredictive modeling system according to claim 9, wherein the machinelearning uses supervised learning to construct the predictive model. 13.The machine learning predictive modeling system according to claim 9,wherein the machine learning uses unsupervised learning to construct thepredictive model.
 14. The machine learning predictive modeling systemaccording to claim 9, wherein the machine learning uses reinforcementlearning to construct the predictive model.
 15. A computer programproduct for machine learning predictive modeling, the computer programproduct comprising: a persistent computer-readable storage media; firstprogram code, stored on the computer-readable storage media, foraggregating sample data regarding a plurality of factors correlated withincome; second program code, stored on the computer-readable storagemedia, for performing iterative analysis on the data using machinelearning to construct a predictive model; third program code, stored onthe computer-readable storage media, for populating, using thepredictive model, a database with predicted income values for a selectedrange of housing costs; fourth program code, stored on thecomputer-readable storage media, for converting the predicted incomevalues in the database into percentages of observed income values for aselected group of people within the selected range of housing costs overa specified time period to create indices of financial stress; and fifthprogram code, stored on the computer-readable storage media, for rankordering the people within the selected group according to their indicesof financial stress.
 16. The computer program product according to claim15, further comprising: sixth program code, stored on thecomputer-readable storage media, for comparing the rank ordering withinthe selected group to observed financial stress within the selectedgroup over a second specified time period; seventh program code, storedon the computer-readable storage media, for aggregating updated sampledata over the second specified time period; and eighth program code,stored on the computer-readable storage media, for updating thepredictive model using machine learning incorporating the updated incomeand housing costs data for the second specified time period.
 17. Thecomputer program product according to claim 15, wherein categories ofapplied to the machine learning predictive modeling include at least oneof: salary; payroll deductions; household tax filing status; housingcost trends in a predetermined geographic area; mortgage rates;employment trends within a specified industry/sector; employment trendswithin the predetermined geographic area; and hiring trends for specificemployers.
 18. The computer program product according to claim 15,wherein the housing costs comprise mortgage payments.
 19. The computerprogram product according to claim 15, wherein the housing costscomprise rent payments.
 20. The computer program product according toclaim 15, wherein the machine learning uses supervised learning toconstruct the predictive model.
 21. The computer program productaccording to claim 15, wherein the machine learning uses unsupervisedlearning to construct the predictive model.
 22. The computer programproduct according to claim 15, wherein the machine learning usesreinforcement learning to construct the predictive model.